1. U.S. Pat. No. 5,315,700 entitled, xe2x80x9cMethod and Apparatus for Rapidly Processing Data Sequencesxe2x80x9d, by Johnston et al, May 24, 1994
2. U.S. Pat. No. 6,130,967 entitled, xe2x80x9cMethod and Apparatus for a Reduced Instruction Set Architecture for Multidimensional Image Processingxe2x80x9d, by Shih-Jong J. Lee, et. al., Oct. 10, 2000
3. Pending application Ser. No. 08/888116 entitled, xe2x80x9cMethod and Apparatus for Semiconductor Wafer and LCD Inspection Using Multidimensional Image Decomposition and Synthesisxe2x80x9d, by Shih-Jong J. Lee, et. al., filed Jul. 3, 1997
4. U.S. Pat. No. 6,122,397 entitled, xe2x80x9cMethod and Apparatus for Maskless Semiconductor and Liquid Crystal Display Inspectionxe2x80x9d, by Shih-Jong J. Lee, et. al., Sep. 19, 2000
5. Pending application Ser. No. 08/888,119 entitled, xe2x80x9cMethod and Apparatus for Incremental Concurrent Learning in Automatic Semiconductor Wafer and Liquid Crystal Display Defect Classificationxe2x80x9d, by Shih-Jong J. Lee et. al., filed Jul. 3, 1997
1. Co-Pending U.S. patent application Ser. No. 09/693,723 entitled, xe2x80x9cImage Processing System with Enhanced Processing and Memory Managementxe2x80x9d by Shih-Jong J. Lee, et. al.
2. Co-Pending patent application Ser. No. 09/692,948 entitled, xe2x80x9cHigh Speed Image Processing Using a Cascade of Elongated Filters Programmed in a Computerxe2x80x9d, by Shih-Jong J. Lee, et. al.
Conventional approaches for image processing implement image operations directly from their specifications. These approaches demand significant computational resources. For example, a 3 by 3 image convolution requires 9 multiplications, 8 additions, and one division for each pixel in an image. In the prior art solution, floating point operations may be required in order to express the fine detail of the filter kernel and to normalize the result. The precision required for these computations frequently is not consistent with the quantization and sampling of the input image, which is limited to reduce the image storage and transmission requirement. As the image coding (number of pixels, color quantization and luminance quantization) becomes more complete, the computations required to process even simple algorithms becomes overwhelming because of the increase in volume of data. Prior art image processors have been created to meet the demands of current generation images. Specialized hardware has been created to address the high computational demand. However, the specialized hardware is expensive and difficult to program and the result achieved is not worth the effort expended. In the prior art, little effort has been expended to reduce the complexity of the computation; rather the prior art attempts to meet the complexity with increased facility. Moreover, general large kernel or three-dimensional image processing operations are still prohibitively expensive even with the specialized hardware.
The prior art has expended the resources to implement the computations required for the general solution of the image processing problem, the capacity requirements generally exceed those available on general purpose computers like the Personal Computer (PC). Thus, the technical advances in general purpose PCs and the price advantages have not heretofore replaced the specialized image processing hardware.
The programming tasks for the specialized hardware are complex because computation optimization frequently requires assembly level instructions, management of several different types of computing resources, several different types of development tools, parallel processing with interleaved results, and/or use of highly optimized primitive functions provided by a hardware vendor that are not easily tailored to any particular application.
An object of the invention is to allow general purpose computers to replace costly specialized image processing hardware without sacrificing speed or reducing image processing capability. It is another object of the invention to achieve high speed by cascading simple, easily programmable poly-point operations in general purpose computers. Another object is to allow image processing programming in high level programming language such as C, C++ or Java that can be compiled into different general purpose computing platforms. A further object is to enable enough throughput improvement that real time image processing can be accomplished in resource constrained mobile computing or information-appliance/e-appliance platforms. It is an object of the invention to enable real time high performance image processing capability for industrial, scientific and medical applications using lower cost computing facilities or image processing units with an embedded central processing unit. Another object of the invention is to allow an increase of image processing capability with minimal additional development work or cost when speed and capacity of the central processing unit (CPU) and memory hardware increases and multiple CPUs and memory channels become available for use.